﻿/*
 *  Author: Louis A. Leskoviansky
 *  Company: Artemis Solutions Group (http://www.artemis-solutions.com)
 */


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AjaxControlFramework
{
    [AttributeUsage(AttributeTargets.Class)]
    public class AjaxControlOptionsAttribute : Attribute
    {
        //------// Properties \\--------------------------------------------\\
        private bool? _autoSaveControlState = null;
        public bool? AutoSaveControlState
        {
            get { return _autoSaveControlState; }
            set { _autoSaveControlState = value; }
        }


        private ScriptBuildMode _buildMode = ScriptBuildMode.Release;
        public ScriptBuildMode BuildMode
        {
            get { return _buildMode; }
            set { _buildMode = value; }
        }


        public Type CallbackStrategyType { get; set; }
        public Type StateStrategyType { get; set; }
        public Type ScriptStrategyType { get; set; }
        public Type CallbackSerializerType { get; set; }
        //------\\ Properties //--------------------------------------------//



        //------// Constructors \\------------------------------------------\\
        public AjaxControlOptionsAttribute() { }


        public AjaxControlOptionsAttribute(bool autoSaveControlState, ScriptBuildMode buildMode)
        {
            AutoSaveControlState = autoSaveControlState;
            BuildMode = buildMode;
        }
        //------\\ Constructors //------------------------------------------//



        //------// Methods \\-----------------------------------------------\\

        //------\\ Methods //-----------------------------------------------//
    }
}
